home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 2001 May / SGI IRIX Base Documentation 2001 May.iso / usr / share / catman / p_man / cat3 / libblas / gemv.z / gemv
Encoding:
Text File  |  1998-10-30  |  15.2 KB  |  265 lines

  1.  
  2.  
  3.  
  4. ____GGGGEEEEMMMMVVVV((((3333FFFF))))                                                            ____GGGGEEEEMMMMVVVV((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      dgemv, sgemv, zgemv, cgemv - BLAS Level Two Matrix-Vector Product
  10.  
  11.  
  12. FFFFOOOORRRRTTTTRRRRAAAANNNN 77777777 SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ddddggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  14.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ttttrrrraaaannnnssss
  15.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  16.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  17.            ddddoooouuuubbbblllleeee pppprrrreeeecccciiiissssiiiioooonnnn   aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  18.  
  19.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ssssggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  20.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ttttrrrraaaannnnssss
  21.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  22.            rrrreeeeaaaallll               aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  23.            rrrreeeeaaaallll               aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  24.  
  25.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee zzzzggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  26.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ttttrrrraaaannnnssss
  27.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  28.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  29.            ddddoooouuuubbbblllleeee ccccoooommmmpppplllleeeexxxx     aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  30.  
  31.      ssssuuuubbbbrrrroooouuuuttttiiiinnnneeee ccccggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  32.            cccchhhhaaaarrrraaaacccctttteeeerrrr****1111        ttttrrrraaaannnnssss
  33.            iiiinnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy
  34.            ccccoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa
  35.            ccccoooommmmpppplllleeeexxxx            aaaa(((( llllddddaaaa,,,,****)))),,,, xxxx((((****)))),,,, yyyy((((****))))
  36.  
  37.  
  38. CCCC SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  39.      vvvvooooiiiidddd ddddggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  40.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  41.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  42.            ddddoooouuuubbbblllleeee             aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  43.            ddddoooouuuubbbblllleeee            ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  44.  
  45.      vvvvooooiiiidddd ssssggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  46.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  47.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  48.            ffffllllooooaaaatttt              aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  49.            ffffllllooooaaaatttt             ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  50.  
  51.      vvvvooooiiiidddd zzzzggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  52.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  53.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  54.            ZZZZoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  55.            ZZZZoooommmmpppplllleeeexxxx           ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  56.  
  57.      vvvvooooiiiidddd ccccggggeeeemmmmvvvv(((( ttttrrrraaaannnnssss,,,,mmmm,,,,nnnn,,,,aaaallllpppphhhhaaaa,,,,aaaa,,,,llllddddaaaa,,,,xxxx,,,,iiiinnnnccccxxxx,,,,bbbbeeeettttaaaa,,,,yyyy,,,,iiiinnnnccccyyyy ))))
  58.            MMMMaaaattttrrrriiiixxxxTTTTrrrraaaannnnssssppppoooosssseeee    ttttrrrraaaannnnssss;;;;
  59.            IIIInnnntttteeeeggggeeeerrrr            nnnn,,,, mmmm,,,, llllddddaaaa,,,, iiiinnnnccccxxxx,,,, iiiinnnnccccyyyy;;;;
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ____GGGGEEEEMMMMVVVV((((3333FFFF))))                                                            ____GGGGEEEEMMMMVVVV((((3333FFFF))))
  71.  
  72.  
  73.  
  74.            CCCCoooommmmpppplllleeeexxxx            aaaallllpppphhhhaaaa,,,, bbbbeeeettttaaaa;;;;
  75.            CCCCoooommmmpppplllleeeexxxx           ((((****aaaa))))[[[[llllddddaaaa****nnnn]]]],,,, ((((****xxxx))))[[[[ nnnn ]]]],,,, ((((****yyyy))))[[[[ nnnn ]]]];;;;
  76.  
  77.  
  78. DDDDEEEESSSSCCCCRRRRIIIIPPPPTTTTIIIIOOOONNNN
  79.      ddddggggeeeemmmmvvvv ,,,, ssssggggeeeemmmmvvvv ,,,, ddddggggeeeemmmmvvvv and ccccggggeeeemmmmvvvv perform one of the matrix-vector
  80.      operations:
  81.  
  82.            y := alpha*A*x + beta*y,   or   y := alpha*A'*x + beta*y,   or
  83.  
  84.            y := alpha*conjg( A' )*x + beta*y,
  85.  
  86.      where alpha and beta are scalars, x and y are vectors and A is an m by n
  87.      matrix.
  88.  
  89.  
  90. PPPPAAAARRRRAAAAMMMMEEEETTTTEEEERRRRSSSS
  91.      ttttrrrraaaannnnssss   On entry, ttttrrrraaaannnnssss specifies the operation to be performed as
  92.              follows:
  93.  
  94.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  95.              trans = 'N' or 'n'            y := alpha*A*x + beta*y.
  96.              trans = 'T' or 't'            y := alpha*A'*x + beta*y.
  97.              trans = 'C' or 'c'            y := alpha*conjg( A' )*x + beta*y.
  98.  
  99.              CCCC
  100.              trans = NoTranspose           y := alpha*A*x + beta*y.
  101.              trans = Transpose             y := alpha*A'*x + beta*y.
  102.              trans = ConjugateTranspose    y := alpha*conjg( A' )*x + beta**y.
  103.  
  104.              Unchanged on exit.
  105.  
  106.      mmmm       On entry, mmmm specifies the number of rows of the matrix A.  mmmm must
  107.              be at least zero.
  108.              Unchanged on exit.
  109.  
  110.      nnnn       On entry, nnnn specifies the order of the matrix A.  nnnn must be at
  111.              least zero.
  112.              Unchanged on exit.
  113.  
  114.      aaaallllpppphhhhaaaa   On entry, aaaallllpppphhhhaaaa specifies the scalar alpha.
  115.              Unchanged on exit.
  116.  
  117.      aaaa       An array containing the matrix A.
  118.  
  119.              FFFFOOOORRRRTTTTRRRRAAAANNNN
  120.              Array of dimension ( lda, n ).
  121.  
  122.              CCCC
  123.              A pointer to an array of size lda*n.
  124.              See note below about array storage convention for C.
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136. ____GGGGEEEEMMMMVVVV((((3333FFFF))))                                                            ____GGGGEEEEMMMMVVVV((((3333FFFF))))
  137.  
  138.  
  139.  
  140.              Before entry, the leading m by n part of the array A must contain
  141.              the matrix of coefficients.
  142.              Unchanged on exit.
  143.  
  144.      llllddddaaaa     On entry, llllddddaaaa specifies the first dimension of aaaa as declared in
  145.              the calling (sub) program.  llllddddaaaa must be at least ( k + 1 ).
  146.              Unchanged on exit.
  147.  
  148.      xxxx       Array of size at least ( 1 + ( n - 1 )*abs( incx ) ) when trans =
  149.              'N' or 'n' or NoTranspose and at least ( 1 + ( m - 1 )*abs( incx
  150.              ) ) otherwise. Before entry, the incremented array xxxx must contain
  151.              the vector x.
  152.              Unchanged on exit.
  153.  
  154.      iiiinnnnccccxxxx    On entry, iiiinnnnccccxxxx specifies the increment for the elements of xxxx.
  155.              iiiinnnnccccxxxx must not be zero.
  156.              Unchanged on exit.
  157.  
  158.      bbbbeeeettttaaaa    On entry, bbbbeeeettttaaaa specifies the scalar beta. When bbbbeeeettttaaaa is supplied
  159.              as zero then yyyy need not be set on input.
  160.              Unchanged on exit.
  161.  
  162.      yyyy       Array of size at least ( 1 + ( m - 1 )*abs( incy ) ) when trans =
  163.              'N' or 'n' or NoTranspose and at least ( 1 + ( n - 1 )*abs( incy
  164.              ) ) otherwise.
  165.  
  166.              Before entry with bbbbeeeettttaaaa non-zero, the incremented array yyyy must
  167.              contain the vector y. On exit, yyyy is overwritten by the updated
  168.              vector y.
  169.  
  170.      iiiinnnnccccyyyy    On entry, iiiinnnnccccyyyy specifies the increment for the elements of yyyy.
  171.              iiiinnnnccccyyyy must not be zero.
  172.              Unchanged on exit.
  173.  
  174.  
  175. CCCC AAAARRRRRRRRAAAAYYYY SSSSTTTTOOOORRRRAAAAGGGGEEEE CCCCOOOONNNNVVVVEEEENNNNTTTTIIIIOOOONNNN
  176.        The matrices  are assumed  to be stored in a  oooonnnneeee ddddiiiimmmmeeeennnnssssiiiioooonnnnaaaallll CCCC aaaarrrrrrrraaaayyyy
  177.        in an analogous fashion as a Fortran array (column major). Therefore,
  178.        the element  A(i+1,j)  of matrix A  is stored  immediately  after the
  179.        element  A(i,j), while  A(i,j+1) is lda  elements apart from  A(i,j).
  180.        The element A(i,j) of the matrix can be accessed directly by reference
  181.        to  a[ (j-1)*lda + (i-1) ].
  182.  
  183.  
  184.  
  185. AAAAUUUUTTTTHHHHOOOORRRRSSSS
  186.           Jack Dongarra, Argonne National Laboratory.
  187.           Iain Duff, AERE Harwell.
  188.           Jeremy Du Croz, Numerical Algorithms Group Ltd.
  189.           Sven Hammarling, Numerical Algorithms Group Ltd.
  190.  
  191.  
  192.  
  193.  
  194.  
  195.                                                                         PPPPaaaaggggeeee 3333
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202. ____GGGGEEEEMMMMVVVV((((3333FFFF))))                                                            ____GGGGEEEEMMMMVVVV((((3333FFFF))))
  203.  
  204.  
  205.  
  206. TTTTUUUUNNNNIIIINNNNGGGG
  207.           Optimized and parallelized for SGI R3000, R4x00 and R8000 platforms.
  208.  
  209.  
  210.  
  211.  
  212.  
  213.  
  214.  
  215.  
  216.  
  217.  
  218.  
  219.  
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226.  
  227.  
  228.  
  229.  
  230.  
  231.  
  232.  
  233.  
  234.  
  235.  
  236.  
  237.  
  238.  
  239.  
  240.  
  241.  
  242.  
  243.  
  244.  
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.                                                                         PPPPaaaaggggeeee 4444
  262.  
  263.  
  264.  
  265.